<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Requests\UserRequest;
use App\Http\Requests;
use Hash;
use DB;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /*
		显示后台用户添加页面
    */
	public function getAdd()
	{
		//解析模板
		return view('Admin.user.add');
		// echo '222';
	}

	/*
		接收提交的数据 进行添加
	*/
	public function postInsert(UserRequest $request)
	{
		
		//处理数据添加到数据库
		$data = $request->only(['username','password','useremail','userphone']);

		// dd($data);
		// $data['token'] = str_random(50);
		//密码加密
		$data['password'] = Hash::make($data['password']);
		// dd($data);
		//执行数据的插入
		$res = DB::table('user')->insert($data);
		if($res){
			// die('成功');
			return redirect('/admin/user/index')->with('success','用户添加成功');
		}else{
			return back()->with('error','用户添加失败');
		}

	}

	/*
		显示数据库列表页
	*/
	public function getIndex(Request $request)
	{
		//显示所有数据
		// $users = DB::table('user')->get(); 
		// var_dump($request->all());

		//分页  每页显示十条
		// $users = DB::table('user')->paginate(10);

		//获取显示条数
		$num = $request->input('num',10);
		//判断是否有关键字
		if($request->input('keywords')){
			$users = DB::table('user')
			->where('username','like','%'.$request->input('keywords').'%')
			->paginate($num);
		}else{
			$users = DB::table('user')->paginate($num); 
		}

		//提取所有的参数
		$data = $request->all();
		
		// dd($users);
		//解析模板
		return view('admin.user.index',['user'=>$users,'data'=>$data]);
	}

	/*
		用户的删除操作
	*/

	public function getDelete($id)
	{
		// dd($id);
		$res = DB::table('user')->where('id',$id)->delete();
		if($res){
			// die('成功');
			return redirect('/admin/user/index')->with('success','用户删除成功');
		}else{
			return back()->with('error','用户删除失败');
		}
	}

	/*
		用户的修改操作
	*/
	public function getEdit($id)
	{
		
		$res = DB::table('user')->where('id',$id)->first();
		// dd($res);
		//解析模板 显示修改表单
		return view('admin.user.edit',['userinfo'=>$res]);
	}

	/*
		用户的执行修改
	*/
	public function postUpdate(Request $request)
	{
		$id = $request->input('id');
		$data = $request->only(['username','useremail','userphone']);
		//执行修改
		$res = DB::table('user')->where('id',$id)->update($data);
		if($res){
			// die('成功');
			return redirect('/admin/user/index')->with('success','用户修改成功');
		}else{
			return back()->with('error','用户修改失败');
		}

	}

}
